/**
 * 用户管理
 */
$(function () {
    layui.use(['element', 'layer', 'form', 'layedit', 'laydate', 'table'], function () {
        var element = layui.element, //导航的hover效果、二级菜单等功能，需要依赖element模块
            layer = layui.layer, //弹窗模块
            layedit = layui.layedit, //编辑器
            laydate = layui.laydate, //日期选择器
            form = layui.form, //表单
            table = layui.table //表格
        /*日期范围*/
        laydate.render({
            elem: '#test-laydate-range-date',
            range: true
        });
        //监听用户管理搜索
        form.on('submit(manage_search)', function (data) {
            layer.msg(JSON.stringify(data.field));
            return false;
        });
        //用户管理
        table.render({
            elem: '#account'
            , id: 'account'
            // , url: '/api/user/query'
            , url: '/manage/js/json/useradmin/userManageJson.js'
            , method: 'post'
            , where: {} //请求参数
            , request: {
                pageName: 'page' //页码的参数名称，默认：page
                , limitName: 'max' //每页数据量的参数名，默认：limit
            }
            , response: {
                statusName: 'status' //规定数据状态的字段名称，默认：code
                , statusCode: 200 //规定成功的状态码，默认：0
                , msgName: 'msg' //规定状态信息的字段名称，默认：msg
                , countName: 'total' //规定数据总数的字段名称，默认：count
            }
            , page: true //是否开启分页
            , cellMinWidth: 80
            , limit: 30
            , height: 'full-220'
            , autoSort: true //由前端来排序
            , initSort: {
                //默认以 创建时间 降序排序字段
                field: 'createTime', type: 'desc'
            }
            //显示字段
            , cols: [
                [{
                    type: 'checkbox',
                    fixed: 'left',
                    field: 'createId',
                    unresize: true
                }, {
                    field: 'createId',
                    title: 'ID',
                    sort: true,
                    align: 'center',
                    unresize: true
                }, {
                    field: 'username',
                    title: '账号',
                    minWidth: 100,
                    align: 'center',
                    unresize: true
                }, {
                    field: 'roleId',
                    title: '权限类型',
                    minWidth: 120,
                    align: 'center',
                    unresize: true
                }, {
                    field: 'name',
                    title: '姓名',
                    minWidth: 100,
                    align: 'center',
                    unresize: true
                }, {
                    field: 'permission',
                    title: '权限',
                    minWidth: 300,
                    align: 'center',
                    unresize: true
                }, {
                    field: 'starttime',
                    minWidth: 120,
                    title: '创建时间',
                    align: 'center',
                    sort: true,
                    unresize: true
                }, {
                    field: 'founder',
                    title: '创建人',
                    align: 'center',
                    unresize: true
                }, {
                    field: 'overtime',
                    title: '最后修改时间',
                    minWidth: 140,
                    align: 'center',
                    sort: true,
                    unresize: true
                }, {
                    field: 'modifier',
                    title: '修改人',
                    minWidth: 100,
                    align: 'center',
                    unresize: true
                }, {
                    title: '操作',
                    width: 140,
                    fixed: 'right',
                    toolbar: '#bar_bianji',
                    align: 'center',
                    unresize: true
                }]
            ]
            , done: function (res, curr, count) {
                //回调函数
                console.log(res);
                if (res.status == 200) {
                    // if(res.obj)
                    data: res.data
                }
            }
        });


        //事件
        var active = {
            //这里的account是table的id
            batchdel: function (obj) {
                var checkStatus = table.checkStatus('account')
                    , checkData = checkStatus.data; //得到选中的数据
                console.log(checkStatus.data) //获取选中行的数据
                if (checkData.length === 0) {
                    return layer.msg('请选择数据');
                }
                layer.confirm('确定删除吗？', function (index) {
                    //执行 Ajax 后重载
                    /*
                    admin.req({
                      url: 'xxx'
                      //,……
                    });
                    */
                    table.reload('account');
                    layer.msg('已删除');
                });
            }
            , add: function () {
                layer.open({
                    type: 1,
                    title: '添加用户'
                    , area: ['420px', '480px']
                    , closeBtn: 1
                    , skin: 'layui-layer-admin'
                    , content: $("#add_userbox")
                    , success: function (layero, index) {
                        form.render(null, 'layuiadmin-form-useradmin');
                        //监听提交
                        form.on('submit(LAY-user-front-submit)', function (data) {
                            var field = data.field; //获取提交的字段
                            //提交 Ajax 成功后，关闭当前弹层并重载表格
                            layer.msg(JSON.stringify(data.field));
                            //$.ajax({});
                            layui.table.reload('account'); //重载表格
                            layer.close(index); //执行关闭
                        });
                    }
                })
            }
        };

        //监听工具条  account是对应的table的lay-filter的值
        table.on('tool(account)', function (obj) {
            var data = obj.data;//获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
            if (obj.event === 'del') {
                layer.confirm('确定删除此条？', function (index) {
                    console.log(obj)
                    obj.del();
                    layer.close(index);
                });
            } else if (obj.event === 'edit') {
                layer.open({
                    type: 1,
                    title: '添加用户'
                    , area: ['420px', '480px']
                    , closeBtn: 1
                    , skin: 'layui-layer-admin'
                    , content: $("#add_userbox")
                    , success: function (layero, index) {
                        form.render(null, 'layuiadmin-form-useradmin');
                        //监听提交
                        form.on('submit(LAY-user-front-submit)', function (data) {
                            var field = data.field; //获取提交的字段
                            //提交 Ajax 成功后，关闭当前弹层并重载表格
                            layer.msg(JSON.stringify(data.field));
                            //$.ajax({});
                            layui.table.reload('account'); //重载表格
                            layer.close(index); //执行关闭
                        });
                    }
                })
            }
        });
        /*绑定按钮事件 添加删除等功能按钮*/
        $('.layui-btn.layuiadmin-btn-useradmin').on('click', function () {
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });

        var param = {
            'page': 1,
            "max": 20
        }

        $.ajax({
            url: '/api/user/query',
            method: 'post',
            dataType: "text/html",
            // async: true, //true 同步，false异步
            // timeout:25000,
            // data: JSON.stringify(param),
            data: param,
            success: function (data) {

            }
        })

    });
})
